2023 更快的做法是命令 ChatGPT 為 AI 程式導師
提問如何用 python 爬取 pm2.5,(或是使用 AutoGPT 設定明確目標執行爬蟲),接下來剩下來的時間思考如何應用在日常生活中,例如用折線圖呈現產出一天內空氣品質變化,結合 IFTTT 超過多少會提醒用戶之類的,並將資料搜集彙整顯示趨勢圖,以供後續研究。
2023-0826 更新:因工作緣故收到國家科學及技術委員會來函,配合本署組改為環境部,本署環境資料關放平臺、環境資源資料交換平臺及環境資源資料交換重構平臺自112年8月22日起變更網址及應用程式介面( Application ProgrammingInterface, API),各平臺API維持新、舊API URL平行服務三個月,請於112年11月22日期限前內完成 API URL 更新。
課堂作業:爬取空氣品質 PM2.5 的即時資訊
抓取政府資料開放平台 JSON
資料 並做檔案處理
實際案例應用:
新竹科學園區空氣品質監測網:
https://hspair.sipa.gov.tw/Hspairpeople/Default.aspx
結合 Google Chart 畫出趨勢圖
執行畫面:
獲得資料方式
JSON
格式:requests 獲取資料 python 直接解析
好用外掛工具 (chrome):
查看 Web API json 格式:
https://chrome.google.com/webstore/detail/jsonview/
資料格式 : JSON、CSV、XML
Web API(Web Application Programming Interface)
認識 Web API、HTTP 和 JSON 資料交換格式
資訊擷取來源
後來發現有更好用 最新試行版(已正式上架)的
註冊 API Key 後可以篩選更多參數來撈資料
要解析的 json 網址:
資料集名稱先記好比較快找到
註冊 API 使用說明:
https://data.epa.gov.tw/paradigm
request and json
透過 json
回傳的是一個 list
import requests
aqi_url = "https://data.epa.gov.tw/api/v1/aqx_p_432?offset=0&limit=80&api_key=自行註冊"
# 環保署環境資料開放平臺 試行版 https://data.epa.gov.tw/
response = requests.get(aqi_url)
aqi = response.json()['records']
print(response.status_code)
### 200 正常回傳
### 404 回傳錯誤
print(type(response))
print(type(aqi))
輸出 List
檔案處理
“r” 唯讀模式
“w” 寫入模式(覆寫)
“a” 寫入模式(續寫)
with open("data_pm25.txt", "w", encoding="utf-8") as file:
再用 for 把資料寫入 file 當中
f = open('file.txt', 'w')
f.write("file-write")
f.close()
參考資料
補充:ChatGPT 指令大全
https://www.explainthis.io/zh-hant/chatgpt